home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / mail / mh / contrib / queuemh / queuemh_paper.shar / main < prev    next >
Text File  |  1992-07-09  |  12KB  |  348 lines

  1. .TI 93
  2. Trouble-MH:  A Work-Queue Management Package for a >3 Ring Circus
  3. .AA
  4. .A "Tinsley Galyean" "Brown University"
  5. .A "Trent Hein and Evi Nemeth" "University of Colorado"
  6. .T1 "Trouble-MH: A Work-Queue Management..."
  7. .A1 "Galyean, Hein, and Nemeth"
  8. .AB
  9. Efficient management of users' problem reports and requests is 
  10. a fundamental system administration task.  This paper presents
  11. a work-queue management solution (Trouble-MH) based on the Rand MH 
  12. Message Handling System.  Trouble-MH allows a system administration
  13. team to easily track and resolve users' "trouble" reports.
  14. .EA
  15. .SH
  16. The Problem
  17. .PP
  18. Efficient communication between a site's users and its system
  19. administration group is the key to a happy campus.  At a small
  20. site, users know their system administrator (SA) on a first name
  21. (or at least login name) basis, and thus reporting a system problem
  22. is as simple as chatting next to the coffee machine or sending a
  23. mail message to the SA.
  24. .PP
  25. At larger sites, however, life gets much tougher.  In our case, we
  26. needed a way for the system administration staff to manage the
  27. queue of incoming system "trouble" reports as well as requests
  28. for general information, system improvements, etc.  We call the
  29. queue which collects all of these messages the "trouble queue."
  30. .PP
  31. When we set out to design a package to manage this queue, we had
  32. these things in mind:
  33. .BL \(bu
  34. .LE
  35. It is impossible for the user community to keep track of
  36. the names of members of the system administration group.
  37. Our Engineering Research Computing Center is staffed by
  38. 10-20 SAs, many of whom are students, and thus come and go
  39. with the school year.
  40. .LE
  41. In order to simplify status tracking of a task as well
  42. as provide users with a personal reply, mail acknowledging
  43. the problem should be from a specific individual rather
  44. than a program or generic user like "sysadmin" or "trouble."
  45. .LE
  46. Because our system administration group is large and
  47. spread out across 750,000 sq ft, it must be easy for
  48. any system administrator to electronically determine the
  49. current status of a task, including who is working on it
  50. already and what progress they have made.
  51. .LE
  52. Multiple SAs need to be able to view and resolve items
  53. in the queue simultaneously, without concerns like the need
  54. for a lock on the entire queue which using /bin/mail might
  55. introduce.
  56. .LE
  57. The solution for trouble queue management needs to be
  58. easy-to-learn, easy-to-use, and easily integrated with
  59. an SA's personal mail handling methods.
  60. .LE
  61. It is always easier to provide extensions to an existing
  62. mail management system rather than to write a new one from
  63. scratch.  While the finished product is not always perfect 
  64. in this case, if the underlying system is powerful enough,
  65. it can grow as needs change.
  66. .LE
  67. SAs need to be able to resolve items in the trouble queue
  68. from their own workstation or terminal at home without being
  69. forced to login to some overloaded central queue-management
  70. host.
  71. .LE
  72. Each SA must login as himself and be accountable for his
  73. actions; therefore no generic "sysadmin" login should be
  74. used.
  75. .EL
  76. .SH
  77. The Base Solution
  78. .PP
  79. We decided upon a solution based on the Rand MH Message Handling
  80. System.  This system, hereafter referred to as MH, is publicly
  81. available via anonymous ftp from a number of sites.  This paper
  82. assumes the reader is familiar with standard MH commands.
  83. Readers who are unfamiliar with MH are referred to the MH
  84. documentation [3].
  85. .PP
  86. MH is well-suited for managing a multi-access "trouble queue" because:
  87. .BL \(bu
  88. .LE
  89. The trouble queue can be managed as an MH "folder."
  90. SAs who normally use MH for their personal mail box can
  91. easily switch between their personal mail folder and trouble
  92. mail (which appears as a normal mail folder).
  93. .LE
  94. The MH trouble folder can be kept on one host but exported
  95. via NFS to other hosts. (Please note, however, that MH performs
  96. poorly on memory-starved diskless workstations.)
  97. .LE
  98. Since MH operates on a one-message-per-file basis, there
  99. is no need to lock the entire queue for common operations.
  100. .LE
  101. Trouble mail readers can be added without requiring root
  102. or other special privilege access.  (access to the trouble
  103. folder, if necessary,  can be restricted by creating a
  104. "trouble" group.)
  105. .LE
  106. SA's can resolve items in the queue from their own account,
  107. adding that "personal touch" to the reply the user receives.
  108. .LE
  109. The MH system is well-documented.
  110. .EL
  111. .SH
  112. The Trouble-MH Gameplan
  113. .PP
  114. First of all, let's consider how we'd really like to see things
  115. happen:
  116. .BL 1 .
  117. .LE
  118. Desperate user mails "trouble" describing a problem
  119. using their favorite mail sending technique and editor
  120. (no need to learn how to use some special trouble
  121. reporting command).
  122. .LE
  123. User's message appears in SA trouble queue.
  124. .LE
  125. On-duty SA examines message.  If the issue can't be
  126. resolved immediately, an acknowledgement is sent back
  127. to the user saying that the system administration group
  128. has received the message and is looking into it.  This
  129. acknowledgement is recorded in the message so that other
  130. on-duty SAs don't also acknowledge it, thereby drowning
  131. the user in content-free mail.
  132. .LE
  133. As the status of the problem changes, the user is
  134. notified and that status report is also recorded in the
  135. message.  This allows any of the SAs or their managers
  136. to see the status of the item and its resolution to date.
  137. .LE
  138. When the issue finally gets resolved, the user is
  139. notified and the item is removed from the queue.
  140. .EL
  141. .SH
  142. Implementation
  143. .PP
  144. After much thought, we decided that it was not sufficient for our
  145. purposes to use the MH system strictly "as is."  We also did not
  146. have the resources to do the project right; so a combination of
  147. shell/C hacks were done as a prototype.  As with many quick hacks,
  148. a useful tool emerged.  Trouble-MH now in use by a handful of system
  149. administration groups at the University of Colorado to manage a
  150. variety of work queues.
  151. .PP
  152. For convenience, a user "trouble" was created on one of the machines
  153. belonging to our system administration group, and an alias was set up
  154. in the aliases file (either /etc/aliases or /usr/lib/aliases) which
  155. directed all mail sent to "trouble" to this account.  This account has
  156. a .forward file which directs incoming mail through the \f2slocal\f1
  157. program and into the trouble folder.
  158. .PP
  159. In each SA's MH directory (usually ~/Mail) there is a symbolic link
  160. which points to this common trouble folder either on the local
  161. machine or an NFS mounted partition.  To list the messages in the
  162. trouble folder, an SA can type the standard MH command:
  163. .DS
  164.     scan +trouble
  165. .DE
  166. .PP
  167. We want the status/acknowledgement information to be stored in
  168. the body of the message in the queue.  In order to provide this 
  169. functionality, a new command, \f2stat\f1 was introduced.  \f2stat\f1
  170. invokes \f2repl\f1 with these lines appended to the end of the 
  171. message:
  172. .DS
  173.   ----------
  174.   Status: by <your-login> <date>
  175.   ----------
  176. .DE
  177. .PP
  178. After you are finished editing, \f2stat\f1 appends the text you typed
  179. below the Status: line to the end of the message, leaves it in the
  180. queue (for others to see later), and also sends it to the user reporting
  181. the problem.  A typical message in the trouble folder looks like:
  182. .DS
  183. .vs -2
  184. .ps -2
  185. (Message trouble:10)
  186. To:      trouble@boulder
  187. From:    ajsh@wild.colorado.edu
  188. Subject: Bug in Sun Fortran 1.3
  189. Date:    Wed, 18 Jul 90 18:06:01 MDT
  190.  
  191. Is this a bug in Sun Fortran 1.3 
  192. compiler?
  193.  
  194. Here's my floating point option, my 
  195. fortran program tst.f, how I compile 
  196. it, and the results.
  197.  
  198.   <code example>
  199.  
  200. What do you make of it? -- Andrew
  201.  
  202. - ----------
  203. Status: by huntert Thu Jul 19 10:50:13 1990
  204. - ----------
  205. Trouble has received your message, we'll 
  206. look into it asap.
  207.  
  208. - ----------
  209. Status: by hardt Thu Jul 19 16:40:27 1990
  210. - ----------
  211. I have looked at this with him and we 
  212. have gotten it down to a simpler example.
  213.  
  214. - ----------
  215. Status: by kiefer Mon Jul 23 11:44:56 1990
  216. - ----------
  217. I have verified that this is in fact a 
  218. bug in the compiler and have reported it 
  219. under our software support contract.  I'm 
  220. awaiting a reply from Sun ...
  221. .vs
  222. .ps
  223. .DE
  224. .PP
  225. Another command, \f2res\f1, which stands for "resolve message", was
  226. also created.  \f2res\f1 uses \f2repl\f1 to reply to the message and
  227. then uses \f2rmm\f1 to remove it from the queue.  One could also
  228. refile the message in an old-trouble folder for later reference
  229. instead of just removing it.
  230. .PP
  231. Thus, \f2stat\f1 and \f2res\f1 are front-ends to repl and provide a
  232. uniform reporting and tracking mechanism.
  233. .PP
  234. After about a year of use, we noticed that SAs spent a lot of time
  235. sending the same reply to multiple messages about the same topic
  236. (a major print server was down, so ALL the secretaries sent mail
  237. about it, for example.)  In order to deal with situation, a third
  238. command, \f2glom\f1, was added.  \f2glom\f1 takes a list of messages and
  239. combines them into a single message, with copies going to all the
  240. appropriate people, so that a single reply suffices.
  241. .SH
  242. Other Advantages
  243. .PP
  244. One of the side effects of using Trouble-MH is that each message
  245. can serve as a teaching tool for new SAs. It not only shows
  246. how to solve a particular problem, but also is an example of the
  247. tone of response you expect the SA staff to use in answering
  248. users complaints.  As such it allows managers to identify incorrect
  249. answers or unprofessional responses and bring them to the attention
  250. of the errant SA.
  251. .PP
  252. .SH
  253. Queue-MH
  254. .PP
  255. The package was originally called Trouble-MH and was intended for
  256. SA trouble mail use only.  After a bit of use, it became clear that
  257. Trouble-MH was useful in other arenas.  In our own group, we soon
  258. had Operator-MH (for the operator backup/restore queue) and Wiring-MH
  259. (for the wirers).  We merged them into one generalized package called
  260. (for lack of a better name) Queue-MH.
  261. .SH
  262. Acknowledgements
  263. .PP
  264. Trouble-MH was originally designed and implemented by Tinsley
  265. Galyean and Trent Hein (under the supervision of Bob Coggeshall)
  266. in October, 1988.  Functionality improvements ("glom", in particular)
  267. have been added by John Hardt.  Barb Dyker added queue generalization 
  268. and management documentation.  Most recently, Andy Kuo cleaned up 
  269. the scripts and improved locking.
  270. .SH
  271. Source Availability
  272. .PP
  273. You can obtain the source code and documentation for the package
  274. described in this paper via anonymous ftp from boulder.Colorado.EDU
  275. [128.138.240.1] (pub/queuemh.tar.Z).  Although we don't officially
  276. support this distribution, and are actually somewhat embarrassed
  277. about it, we use it daily.  Please report any bug fixes or suggestions
  278. you have to "systems@boulder.Colorado.EDU."
  279. .PP
  280. .SH
  281. References
  282. .LP
  283. [1] Dyker and Hein, "Using Queue MH," May, 1990.
  284. .LP
  285. [2] Dyker, "Managing Queue MH," May 1990.
  286. .LP
  287. [3] The Rand MH User's Manual.
  288.  
  289. .de CC
  290. .nr Z1 1.1i        \" picture width
  291. .nr Z2 10u*\\n(Z1u/10u    \" picture depth 
  292. .in 0
  293. .rs
  294. .nr QQ \\n(Z2+0.1i
  295. .ne \\n(QQu
  296. .sp -0.8
  297. .ll -\\n(Z1u
  298. .ll -0.1i
  299. .po +\\n(.lu+0.1i
  300. \D'Z \\n(Z1u \\n(Z2u'
  301. .br
  302. .ie \\$1 .tm MISSING PICTURE on .BB <--------------------
  303. .el .pf \\$1
  304. .po
  305. .sp -1
  306. \h'0.1i'\h'\\n(.lu'\D'l \\n(Z1u 0'\D'l 0 \\n(Z2u'\D'l -\\n(Z1u 0'\D'l 0 -\\n(Z2u'
  307. .sp -1
  308. .sp 0.8
  309. .mk QQ
  310. .nr QQ +\\n(Z2u
  311. .wh \\n(QQu K2
  312. ..
  313. .de K2
  314. 'ch K2
  315. 'll +\\n(Z1u
  316. 'll +0.1i
  317. ..
  318. .CC tag.ps
  319. Tinsley Galyean
  320. received a BS in Computer 
  321. Science from the University of Colorado, and recently received a Masters 
  322. degree from Brown University.  This fall, Tinsley is continuing his 
  323. education at MIT.
  324. Contact him electronically at tag@media-lab.media.mit.edu\|.
  325.  
  326. .BB trent.ps
  327. Trent Hein
  328. is both on the staff
  329. and a student at the University of Colorado, Boulder.  Trent
  330. spent this past summer at UC-Berkeley working on the 4.4 BSD port
  331. to the MIPS architecture and various other things.
  332. Contact Trent at University of Colorado, Boulder; Department of
  333. Computer Science; P. O. Box 430; Boulder, CO  80309-0430 or
  334. electronically at trent@boulder.Colorado.EDU\|.
  335. .BE
  336.  
  337. .BB evi.ps
  338. Evi Nemeth spent the past year at Dartmouth
  339. College on leave from the University of Colorado, Boulder, where she
  340. is on the faculty of the Computer Science department.  She has
  341. recently co-authored a book on system administration: \f2The UNIX
  342. System Administration Handbook,\f1 published by Prentice Hall.
  343. Contact Evi at University of Colorado, Boulder; Department of
  344. Computer Science; P. O. Box 430; Boulder, CO  80309-0430 or
  345. at evi@boulder.Colorado.EDU electronically.
  346. .BE
  347. .EM
  348.